# HMAC模式I（更安全的密钥哈希）

import hashlib
import hmac

def hmac_hash(key, message, algorithm='sha256'):
    """
    使用 HMAC 计算带密钥的哈希
    :param key: 密钥（字节或字符串）
    :param message: 消息（字节或字符串）
    :param algorithm: 哈希算法
    :return: 十六进制哈希字符串
    """
    if isinstance(key, str):
        key = key.encode('utf-8')
    if isinstance(message, str):
        message = message.encode('utf-8')

    h = hmac.new(key, message, algorithm)
    return h.hexdigest()

# 测试 HMAC
secret_key = "s3cr3t_k3y"
data = "important_message"
print("HMAC:", hmac_hash(secret_key, data))
